Date		:	14 juin 1991
		Programme	:	SWAP
		Outils		:	SOFT-ICE
		Protection	:	Mot de passe
		Temps pass�	:       1 heure
		Nom du fichier	:	SWAPE.EXE
		Soci�t�		:	MICROIDS
		Divers		:	D�j� essay� en INDONESIE sans succ�s.
		Origine		:	INDONESIE
		Num�ro		:	089


	Le soft se plante au bout de 18 coups si on a r�pondu n'importe quoi
	� la demande de mot de passe.
	La chaine de caract�res est appel� par l'INT 21 fonction 0A.
	Avec SOFT-ICE il est facile de partir de l� puis de voir ce que fait
	le soft.
	Ce dernier fait � la sorti d'un CALL ( qui doit tester si la chaine
	entr�e correspond au mot de passe ) deux MOV dans CS du contenu de
	AX et DX. Si la r�ponse est fausse ces registres contiennent 0000.
	Dans le cas contraire ils contiennent 0002 et 2B01 respectivement
	pour DX et AX.
	Il est d�s lors tentant de forcer ce contenu avec un adressage imm�diat.
	Malheureusement une instruction du type MOV WORD CS:[0E86],0002 est
	bien plus longue que l'instruction d'origine MOV CS:[0E86],DX.
	Il faut donc trouver "un endroit" � squater, y sauter, faire les modifs
	puis revenir et continuer bien gentiment comme si de rien n'�tait.
	En scannant tout le segment CS de 0 � FFFF je trouve le Message
	"Packed file is corrupt" cel� fait 22 octets et est largement suffisant
	pour contenir mes deux instructions de MOV et un JMP pour le retour.
	
	D'origine on a:
	
	3D6D:E9B	2E8916860E	MOV CS:[0E86],DX
	3D6D:EA0	2EA3880E	MOV CS:[0E88],AX

	On met � la place:

	3D6D:E9B	E92983		JMP 91C7
	3D6D:E9E	90		NOP
	3D6D:E9F	90		NOP
	3D6D:EA0	90		NOP
	3D6D:EA1	90		NOP
	3D6D:EA2	90		NOP
	3D6D:EA3	90		NOP
	3D6D:EA4	..		Suite normale du programme.

	Et en 3D6D:91C7 on place les deux instructions � adressage imm�diat.

	3D6D:91C7	2EC706860E0200	MOV WORD CS:[0E86],0200
	3D6D:91CE	2EC706880E012B	MOV WORD CS:[0E88],2B01
	3D6D:91D5	E9C67C		JMP E9E

	Voil�, avec PCTOOLS chercher la chaine 2E8916860E2EA3880E et remplacer
	par E92983909090909090, puis la chaine en ASCII "Packed".
	Commencer � remplacer au niveau de P qui est �gal � 50 par:
	2EC706860E02002EC706880E012BE9C67C.

	FREDDY